Enterprise application integration (EAI) is an integration framework composed of a collection of technologies and services that form a middleware to enable integration of systems and applications across the enterprise. Many services in the EAI are not under control of an integrator or an architect and, as a result, these services can be overloaded, effectively causing slowdown of a message flow and even leading to a failure of the EAI.
One known technique to prevent overload in the EAI is to avoid overload of hardware such as servers. In this technique, certain types of requests are rejected when the load increases. Depending on the overload situation, certain requests are prioritized and certain requests are rejected to decrease the load in the system.
Another known technique to prevent overload in the EAI is to use a bus as an architecture and ‘peer-to-peer’ as a communication paradigm. This technique enables every service to act as a loosely-coupled, distributed service on the bus, with the associated benefits of granular fail over and scalability. However, none of the above techniques provide for preventing overload of the messages at the service level.